1. Field of the Invention
The present invention generally relates to a method and system for providing control of network security of a virtual machine, and more particularly, to a method of virtual machine migration with filtered network connectivity which includes enforcing network security and routing at a hypervisor layer at which a virtual machine partition is executed and which is independent of guest operating systems.
2. Description of the Related Art
In a network-secured environment, host movement means moving its network entangled state, which includes routing (e.g., VLAN (virtual local area network) tags, OSPF (open shortest-path first) host route entries, etc.) and security (e.g., firewall (FW) access control lists (ACLs), switch ACLs, router ACLs, VLAN tags, etc.) from one machine to another.
That is, in order to perform maintenance on or provide a fail-over for a processor device or machine, it is desirable to move or migrate a virtual machine (VM) from one processor machine or device to another processor machine or device.
For purposes of this disclosure, a virtual machine (VM) generally includes a virtual data processing system, in which multiple operating systems and programs can be run by the computer at the same time. Each user appears to have an independent computer with its own input and output devices.
For purposes of this disclosure, logical partitioning (LPAR) generally means the capability to divide a single physical system into multiple logical or “virtual” systems, each sharing a portion of the server's hardware resources (such as processors, memory and input/output (I/O)). Each LPAR runs an independent copy of an operating system. They can even be different operating system versions or distributions.
That is, LPAR generally allows customers to “slice-up” a machine into virtual partitions, and provides the flexibility to dynamically change the allocation of system resources for those environments, thereby providing the capability to create multiple virtual partitions within a processor. Spare capacity can be re-allocated to virtual partitions. Any of the virtual servers may run on any of the physical processors, meaning that the processor resources are fully shared, which makes it possible to run the physical server at very high utilization levels.
For purposes of this disclosure, dynamic logical partitioning (DLPAR) generally increases flexibility, enabling selected system resources like processors, memory and I/O components to be added and deleted from dedicated partitions while they are actively in use. The ability to reconfigure dynamic LPARs enables system administrators to dynamically redefine all available system resources to enable optimum capacity for each partition.
For purposes of this disclosure, virtual local area network (VLAN or virtual LAN) generally allows clients to create virtual Ethernet connections to provide high-speed inter-partition communication between logical partitions on a server without the need for network I/O adapters and switches. Connectivity outside of the server can be achieved using the virtual I/O server partition that acts as an internet protocol (IP) forwarder to the Local Area Network (LAN) through an Ethernet I/O adapter.
For purposes of this disclosure, a hypervisor, sometimes referred to as a virtualization manager, includes a program that allows multiple operating systems, which can include different operating systems or multiple instances of the same operating system, to share a single hardware processor. A hypervisor preferably can be designed for a particular processor architecture.
Each operating system appears to have the processor, memory, and other resources all to itself. However, the hypervisor actually controls the real processor and its resources, allocating what is needed to each operating system in turn.
Because an operating system is often used to run a particular application or set of applications in a dedicated hardware server, the use of a hypervisor preferably can make it possible to run multiple operating systems (and their applications) in a single server, reducing overall hardware costs. Production and test systems also preferably can run at the same time in the same hardware. In addition, different operating systems preferably can share the same server.
Thus, a hypervisor generally means a scheme which allows multiple operating systems to run, unmodified, on a host computer at the same time. Such software lets multiple operating systems run on the same computer, a feature that is particularly useful for consolidating servers in order to save money, and for extracting as much work as possible from a single system.
As mentioned above, in order to perform maintenance on or provide a fail-over for a processor device or machine, it is desirable to move or migrate a virtual machine (VM) from one processor machine or device to another processor machine or device.
With reference to FIGS. 1-3, conventional approaches to migrating virtual machines from one device (e.g., hardware device) to another device (e.g., hardware device) will be described.
FIG. 1 illustrates an exemplary system 100 which can include a plurality of virtual machines (VM) (101) controlled by a switches (e.g., SWA1-SWB5) (102) connected by an Internet Service Provider (ISP) (103) and protected by firewalls FW1 and FW2 (104).
As mentioned above, in a network-secured environment, host movement means moving its network entangled state, which includes routing and security from one machine to another.
In FIG. 2, the network entangled state of virtual machine VM 205 (e.g., hypervisor 206; NIC1 207, VNIC 210, switch1 208, and firewall FW1 209) is copied to virtual machine VM′ 215 (e.g., hypervisor 216; NIC2 217, VNIC (virtual network interface card) 210, switch2 218, and firewall FW2 219). In FIG. 2, there is no ACL at switch2 (318), which means every virtual machine could be masqueraded. Also, at the firewall FW2 (219), there is no selection of which virtual machine can go where.
As illustrated in FIG. 2, conventional systems (e.g., 200) generally do not include ACLs. Also, the firewall FW2 does not include a selection of which virtual machine can be accessed. Thus, the conventional systems provide very little security and routing generally is provided by OSPF advertised host routes.
FIG. 3 illustrates another conventional system in which routing is taken care of by OSPF advertised host routes. FIG. 3 illustrates a conventional system in which restrictive ACLs are included in the switch2 and the firewall FW2 includes restrictions for access.
In FIG. 3, the network entangled state of virtual machine VM 305 (e.g., hypervisor 306; NIC1 307, VNIC 310, switch1 308, and firewall FW1 309) is copied to virtual machine VM′ 315 (e.g., hypervisor 316; NIC2 317, VNIC 310, switch2 318, and firewall FW2 319). As illustrated in FIG. 3, in the conventional systems, the restrictive ACLs are provided, for example, at switch2 (318). The firewall FW2 also includes restrictions.
Thus, the conventional systems and methods require a complex update scheme to update the ACLs in the real switches and the filters in the firewalls to migrate a virtual machine from one machine to another machine.
Generally, conventional virtual machine systems and methods provide very little network security. In the conventional systems and methods, routing generally is provided by open shortest-path first (OSPF) advertised host routes. Conventional systems and methods generally do not include access control lists (ACLs) and security generally is only as good as security at each individual machine.
For example, one conventional system and method relates to virtualizing computer systems on the same host practical. Some conventional methods relate to arbitration of access to shared resources on the same host when multiple operating systems attempt to access the shared resource. In particular, one conventional method focuses on the ability to virtualize shared memory page tables, which to date had not been successfully addressed in direct execution virtual machines. The conventional method does not, however, address network virtualization, in which a virtual machine is to be network addressable, which is addressed herein below by the present invention. Instead, the conventional method merely relates to a virtual machine that is addressable but that does not migrate its network-entangled state.
Another exemplary method and device relates to a mechanism for restoring, porting, replicating and check pointing computer systems using state extraction. This conventional method covers the ability to initiate migration of a virtual machine from one system to another. Particularly, the conventional method and device discusses the migration of peripheral state in which the peripheral is assumed to be a hardware resource that is emulated. However, such conventional methods and devices do not discuss the much more flexible and efficient possibility of capturing application state, such as the state of a firewall or routing that pertains to a particular movable partition, which is addressed herein below by the present invention. Instead, these conventional methods and devices merely focus on device control, which, as the ordinarily skilled artisan would know and understand, is not the same as (or equivalent to) the establishment of logical rules that govern the interaction of a migrated virtual machine with the rest of the network infrastructure, as described herein below by the present invention. These conventional methods and devices also do not disclose or suggest, however, that a logical device needs to be bootstrapped and/or that device state in the network needs to be revoked upon migration of a virtual machine partition, as described herein below by the present invention
Other conventional systems and methods relate to a logical partition manager. These methods discuss the possibility of feeding information that is created within a logical partition (guest, or virtual machine) back to a partition manager. These conventional methods discuss the operating system (OS) itself applying security controls and routing in a special partition. The crux of these conventional methods is so-called paravirtualization.
In paravirtualization, the partition manager “trusts” the partition OS to cooperate with the other partitions. These conventional systems suffer from a serious security flaw that an undermined OS can disable access protection that prevents remote control software from manipulating an operating system instance running within a logical partition (guest or virtual machine). These conventional methods, therefore, cannot be used to implement access controls unless additional security inventions secure the shared state and control across partitions in reliable manner. These conventional methods do not discuss how the network access controls may have to be reset on copying a virtual machine from one computer to another, which is addressed herein below by the present invention. These conventional methods also do not discuss how network access control and routing is to be maintained.
Other conventional systems and methods relate to virtual machine operating system local area networks (LANs), and describe a system for defining and creating virtual network adapters within a hypervisor for the use by guest virtual machines. These conventional systems and methods do not discuss access controls and routing problems pertaining to a virtual machine being copied across the network, which are addressed and solved herein below by the present invention.
Other conventional systems and methods relate to preservation of a computer system processing state in a mass storage device. These conventional systems and methods describe how the state of a computer should be stored in a mass storage device. These conventional systems and methods do not describe how the storage should be extended to also capture state that is external to the processor's addressable memory, which is addressed herein below by the present invention.